home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue33 / intrposr / ipunit1.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-03-04  |  4.5 KB  |  196 lines

  1. unit ipunit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ExtCtrls, Buttons, Spin,
  8.   EnhCtrls ;
  9.  
  10. type
  11.   TPanelDemoForm = class(TForm)
  12.     Panel1: TPanel;
  13.     BitBtn1: TBitBtn;
  14.     BitBtn2: TBitBtn;
  15.     BitBtn3: TBitBtn;
  16.     Memo1: TMemo;
  17.     Panel2: TPanel;
  18.     Label1: TLabel;
  19.     Label2: TLabel;
  20.     BitBtn4: TBitBtn;
  21.     Edit1: TEdit;
  22.     RadioGroup1: TRadioGroup;
  23.     SpinButton1: TSpinButton;
  24.     SpinButton2: TSpinButton;
  25.     Label3: TLabel;
  26.     Label4: TLabel;
  27.     ListBox1: TListBox;
  28.     Button1: TButton;
  29.     OpenDialog1: TOpenDialog;
  30.     Edit2: TEdit;
  31.     Label5: TLabel;
  32.     GroupBox1: TGroupBox;
  33.     GroupBox2: TGroupBox;
  34.     Panel3: TPanel;
  35.     Bevel1: TBevel;
  36.     Label6: TLabel;
  37.     Bevel2: TBevel;
  38.     Label7: TLabel;
  39.     procedure BitBtn1Click(Sender: TObject);
  40.     procedure BitBtn2Click(Sender: TObject);
  41.     procedure FormCreate(Sender: TObject);
  42.     procedure Button1Click(Sender: TObject);
  43.     procedure Memo1PosChange(Sender: TObject);
  44.     procedure FormShow(Sender: TObject);
  45.     procedure BitBtn4Click(Sender: TObject);
  46.     procedure Edit1Change(Sender: TObject);
  47.     procedure RadioGroup1Click(Sender: TObject);
  48.     procedure SpinButton1DownClick(Sender: TObject);
  49.     procedure SpinButton1UpClick(Sender: TObject);
  50.     procedure SpinButton2UpClick(Sender: TObject);
  51.     procedure SpinButton2DownClick(Sender: TObject);
  52.     procedure Edit2Change(Sender: TObject);
  53.   private
  54.     { Private declarations }
  55.     procedure Edit1Filter( Sender : TObject ) ;
  56.   public
  57.     { Public declarations }
  58.     TheStr : string ;
  59.   end;
  60.  
  61. var
  62.   PanelDemoForm: TPanelDemoForm;
  63.  
  64. implementation
  65.  
  66. {$R *.DFM}
  67. procedure TPanelDemoForm.BitBtn1Click(Sender: TObject);
  68. var
  69.   Image : TImage ;
  70. begin
  71.   if OpenDialog1.Execute then
  72.   begin
  73.     Image := TImage.Create( nil ) ;
  74.     Image.Picture.LoadFromFile( OpenDialog1.FileName ) ;
  75.     Panel3.Canvas.Draw( 0, 0, Image.Picture.Graphic ) ;
  76.     Image.Free ;
  77.   end;
  78. end;
  79.  
  80. procedure TPanelDemoForm.BitBtn2Click(Sender: TObject);
  81. begin
  82.   Panel1.HiThere ;
  83. end;
  84.  
  85. procedure TPanelDemoForm.FormCreate(Sender: TObject);
  86. begin
  87.   TheStr := '' ;
  88.  
  89.   BitBtn1.ChangeColor := clNavy ;
  90.   BitBtn1.EnterChange := TRUE ;
  91.  
  92.   BitBtn2.ChangeColor := clRed ;
  93.   BitBtn2.EnterChange := TRUE ;
  94.  
  95.   BitBtn3.PlaySound := TRUE ;
  96.   BitBtn3.Sound := MB_ICONQUESTION ;
  97.  
  98.   Memo1.OnPosChange := Memo1PosChange ;
  99.   Memo1.Row := 0 ;
  100.   Memo1.Col := 0 ;
  101.  
  102.   Edit1.ErrBeep := TRUE ;
  103.   Edit1.Sound := MB_ICONSTOP ;
  104.   Edit1.OnFilter := Edit1Filter ;
  105. end;
  106.  
  107. procedure TPanelDemoForm.Button1Click(Sender: TObject);
  108. begin
  109.   TheStr := TheStr + 'X' ;
  110.   ListBox1.Items.Add( TheStr ) ;
  111. end;
  112.  
  113. procedure TPanelDemoForm.Memo1PosChange(Sender: TObject);
  114. begin
  115.   Label1.Caption := Format( 'Row: %d', [Memo1.Row + 1] ) ;
  116.   Label2.Caption := Format( 'Col: %d', [Memo1.Col + 1] ) ;
  117. end;
  118.  
  119. procedure TPanelDemoForm.FormShow(Sender: TObject);
  120. begin
  121.   Memo1.OnPosChange( Memo1 ) ;
  122. end;
  123.  
  124. procedure TPanelDemoForm.BitBtn4Click(Sender: TObject);
  125. begin
  126.   if Memo1.CanUndo then
  127.     Memo1.Undo
  128.   else
  129.   begin
  130.     MessageBeep( MB_ICONERROR ) ;
  131.     ShowMessage( 'Can''t Undo!' ) ;
  132.   end;
  133. end;
  134.  
  135. procedure TPanelDemoForm.Edit1Filter( Sender : TObject ) ;
  136. begin
  137.   if Edit1.Text[Length( Edit1.Text )] in ['A'..'Z'] then
  138.     MessageBeep( 0 ) ;
  139.  
  140. end;
  141.  
  142. procedure TPanelDemoForm.Edit1Change(Sender: TObject);
  143. var
  144.   idx : word ;
  145.   bsp : string ;
  146. begin
  147.   idx := Pos( '-', Edit1.Text ) ;
  148.   if idx > 1 then
  149.   begin
  150.     bsp := Edit1.Text ;
  151.     System.Delete( bsp, idx, 1 ) ;
  152.     Edit1.Text := bsp ;
  153.     MessageBeep( 0 ) ;
  154.   end;
  155. end;
  156.  
  157. procedure TPanelDemoForm.RadioGroup1Click(Sender: TObject);
  158. begin
  159.   case RadioGroup1.ItemIndex of
  160.     0 : Edit1.Alignment := taLeftJustify ;
  161.     1 : Edit1.Alignment := taCenter ;
  162.     2 : Edit1.Alignment := taRightJustify ;
  163.   end;
  164. end;
  165.  
  166. procedure TPanelDemoForm.SpinButton1DownClick(Sender: TObject);
  167. begin
  168.   Memo1.Col := Memo1.Col - 1 ;
  169. end;
  170.  
  171. procedure TPanelDemoForm.SpinButton1UpClick(Sender: TObject);
  172. begin
  173.   Memo1.SetFocus ;
  174.   Memo1.Col := Memo1.Col + 1 ;
  175. end;
  176.  
  177. procedure TPanelDemoForm.SpinButton2UpClick(Sender: TObject);
  178. begin
  179.   Memo1.SetFocus ;
  180.   Memo1.Row := Memo1.Row - 1 ;
  181. end;
  182.  
  183. procedure TPanelDemoForm.SpinButton2DownClick(Sender: TObject);
  184. begin
  185.   Memo1.SetFocus ;
  186.   Memo1.Row := Memo1.Row + 1 ;
  187. end;
  188.  
  189. procedure TPanelDemoForm.Edit2Change(Sender: TObject);
  190. begin
  191.   Memo1.SetFocus ;
  192.   Edit1.FilterChars := Edit2.Text ;
  193. end;
  194.  
  195. end.
  196.